package cn.iocoder.yudao.module.crossborder.platform.framework.security.config;

import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder;
import org.springframework.security.crypto.password.PasswordEncoder;

/**
 * 跨境电商平台模块的 PasswordEncoder 配置
 * 
 * 临时解决方案：确保 PasswordEncoder bean 在当前模块中可用
 * 
 * @author LHL
 */
@Configuration(proxyBeanMethods = false)
public class PasswordEncoderConfiguration {

    /**
     * Spring Security 加密器
     * 考虑到安全性，这里采用 BCryptPasswordEncoder 加密器
     * 
     * 注意：只有在没有其他 PasswordEncoder bean 时才创建此 bean
     */
    @Bean
    @ConditionalOnMissingBean(PasswordEncoder.class)
    public PasswordEncoder passwordEncoder() {
        return new BCryptPasswordEncoder(4); // 使用默认的加密复杂度
    }
}
